home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
lists
/
gem
/
l_1199
/
1113
< prev
next >
Wrap
Text File
|
1994-08-27
|
9KB
|
208 lines
Subject: Digested
Date: Fri, 29 Jul 1994 16:24:32 +1000
From: Warwick Allison <warwick@cs.uq.oz.au>
Precedence: bulk
Chris Ridd:
>Warwick writes:
>>*.papyrus*.key.openFile: KEY = ^O
>The type [KEY] would not be required if we could more completely specify the
>attribute-pattern string. eg <application name>.<function>.<attribute>
>papyrus.opendoc.key "^O"
That's a better idea than mine. Okay, some of the obvious ones are:
Name Values
------ ------
key std keyname, or scancode, or blank for no binding
text String of ascii characters, delimited by end-of-line
name String of ascii characters, delimited by end-of-line
num Decimal number in ascii, 0xHexadecimal number
geometry [ Width "x" Height ] [ "+" Xoffset "+" Yoffset ] - all in decimal.
file Filename in ascii, extension gives clue to type. (full path only?)
font <fontname>@<fontsize>
color Colour name or hex specification (other?)
flag yes/on/true/oui/ja/1, no/off/false/non/nein/0
[Reminder: we only have to specify them, not implement them]
>I'm uncertain about the idea of application-types... How many dtp
>packages or word processors is a user likely to have?
You're probably right. It slows down all the application-specific pattern
matching too.
<application-name>.<attribute-name>.<attribute-type>
Only attribute-name can have internal "."'s.
myWord.helpDialog.confirm.key: Return (attribute-name = helpDialog.confirm)
myWord.quitDialog.confirm.key:
Now, as soon as we vote on the key shortcuts, we can put it in this form
and see what it looks like. (With "atariworks.selectAll.key: Alt-#*") :)
Kevin O'Donovan:
>This is what I'm currently thinking:
>Left button as in X
>Right button over a text entry area does paste
>Right button over a widget label does an activate. In this case whenever
>the mouse moves over such an activate area it will change form to an icon
>of a mouse with the right button highlighted (black as opposed to white)
I like it, but why can't you just use the left button on the label for
the activation?
>Now there I agree, but I'm quite happy to let the individual user make his own
>mind up. If your library enforces your likes/dislikes then its flawed.
Agreed. Some people hate click-to-type, others hate point-to-type. For
single-tasking systems, the user rarely changes focus, so it is not really
an issue. But in multitasking systems, it is a BIG issue. For example,
I am cutting and pasting this digest back and forth from my mail reader.
If I was running under GEM, I would like to not have to top that mail reader
window in order to cut text from it (since it is not overlapping this
window I am typing the digest into). In setting these standards, we must
keep in mind FUTURE user behaviour, as the applications that follow our
standard will be 90% of FUTURE apps and 10% of past apps (upgraded and
preconformant).
>>Dialogs in Windows (on/off)
>I assume by this you mean wether the dialogs are modeless or not (since
>you can't do modeless dialogs that aren't in windows without a lot of
>hacking)? If that's the case then I don't think this is something you can
>really switch on or off. Nor can I see any reason why a user would want it
>off.
`modal dialogs in windows'. The only reasons the user might not
want it is that form_do() dialogs are faster, since they can use
save-unders for redraw, rather than redraw events. This is expecially
useful if they use your app with a program for which window redraws are
expensive (eg. some DTP programs). It needs to be configurable so
that users of faster machines get the benefits of
modal-dialogs-in-windows.
>> [list of other attributes]
>Not convinced these need to be in the file, but I don't really care either way.
Remember: these do NOT need to be in the file, they just need to be
defined as possibilities, so as to have an agreed-upon-name (not an
agreed-upon-value though).
Hollis said:
> I don't quite think you understand how event_multi handles the mouse. If
> you move the mouse and you don't have a timer set, you will never get a
> mouse movement message, as they are always being returned.
The correct way to track every mouse movement is to watch a 1x1 pixel
rectangle. This is documented in many places. (example uses are drawing
programs and real-time drags)
Hollis:
]If the button is no longer pressed when you process the message, top the
]window. This means that the button was tapped on the window with the intent
]to bring it to the front.
Anything like that depends on how fast your machine is.
Timothy Miller:
>I realise this could be used in support of the
>app-defs file, but I have other reasons I don't like it.
Don't hide them inside, speak out! Perhaps we will see your point and
abandon our folly; perhaps we will explain something you've missed that
changes your mind.
>Yeah, sure... and let's make the user spend 5 hours on install, 4 of
>which is for configuration, and the last hour is for copying from floppy
>all the code for all the features that the user turned off.
Um... they have DEFAULTS. The user only needs to change them if they
want to. Is this your objection to app_defs.sys?
>KISS: Keep It Simple, Stupid.
These standards almost all specify HOW to do something IF you implement it.
You are still free to keep it simple, stupid, and anything else you like.
>I am one of many people who have complained about Atari Works wiping out
>their documents when their little finger slips and hits Ctrl and A at the
>same time.
Now, if only you could change the shortcut...
By using a fixed standard, you cannot please all of the people all of the
time. By using an flexible standard, you can please everyone except those
who think that Their Way Is Best.
>Just because it doesn't happen to you, doesn't mean it doesn't happen to
>you. If you don't have astygmatism, does that mean that no one else does?
I do, but I don't expect everyone to wear glasses, nor for everyone to
not wear glasses. And I don't expect people with myopia to wear glasses
if they want to wear contact lenses. Just give people a little choice,
and they're easy to please.
Hollis:
>I doubt anyone would want to publish my documentation, because no one
>would really care. No one would buy any more Atari books anyway.
This really isn't the attitude required on a list that is supposed to be
looking at the FUTURE state of Atari GEM applications.
Hollis:
>I think someone should post some standard code (in C, C++, Pascal, and
>GfA Basic) so we can all use his/her code in our programs for APP_DEFS.
Did y'all catch my code for pattern-matching against a string with wildcards?
That's my contribution.
Couldn't we just write it in C and bind it to other languages? Maybe have
to convert it to ASM (via compiler) for some (can BASICs load C object files?)
>APP_DEFS was only designed to handle the keyboard equivalents of
>menubar actions, and some actions of the program. It was NOT designed
>to handle the GUI itself.
`was'? It hasn't BEEN designed yet. If it only handles keyboard equivalents,
we're back following the meandering path of ASSIGN.SYS, DESKTOP.INF, etc.
Either a flexible defaults standard, or nothing (that's why it is called
`APP_DEFS.SYS', not `KEY_DEFS.SYS').
>Say, the user wants those two on one program, and doesn't want both of those
>or just one of those on another program. To overcome this, he would have
>to change the configuration each time he ran the program.
The app-defs formats proposed so far all allow per-application and
global specification of configurations. Keep up.
>I don't think you have ANY idea of what you're talking about. I am in no
>way "misusing" AES.
Repeatedly using 0-length timers is misusing the AES, as it turns the
application into the center of the world with AES being used as a key-getter
and mouse-getter, rather than the event driven model used by the AES,
and ALL other windowing systems.
Hollis:
>Kev:
>> And I don't think you understood what he was proposing. He doesn't need to
>> track the mouse, he just needs to get a message when it leaves his window.
>> Sounds like a job for a r